// 批量重命名练习
const fs = require("fs");

// 1 获取文件列表
const files = fs.readdirSync('./');

console.log('------------files--------------');
console.log(files);
console.log('------------files--------------');

// 筛选出带数字前缀的路径
const hasIndexFiles = files.filter(item => {
    const [num] = item.split('-')
    return Number.isFinite(parseInt(num))
})

console.log('------------hasIndexFiles--------------');
console.log(hasIndexFiles);
console.log('------------hasIndexFiles--------------');

// 通过数字前缀对文件名进行排序
const sortIndexFiles = hasIndexFiles.map(item => {
    const [num, name] = item.split('-')
    return {
        num,
        name,
        originName: item
    }
}).sort((a, b) => {
    return a.num - b.num
})


console.log('------------sortINdexFiles--------------');
console.log(sortIndexFiles);
console.log('------------sortINdexFiles--------------');

// 通过数组索引对文件名进行重命名
sortIndexFiles.forEach((item, index) => {
    const { name, originName } = item;
    const num = index + 1;
    const curIndex = num > 9 ? num : `0${num}`
    fs.renameSync(originName, `${curIndex}-${name}`)
})
